package com.cq.hd.product.api.dto;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;

@Data
public class ActiveUpdateDto implements Serializable {

    @ApiModelProperty(value = "活动id")
    private Long id;

    @ApiModelProperty(value = "用户id")
    private Long userId;

    @ApiModelProperty(value = "商家id")
    private Long businessId;

    @ApiModelProperty(value = "活动标题")
    private String activeTitle;

    @ApiModelProperty(value = "活动图片")
    private String activeImg;

//    @ApiModelProperty(value = "活动内容")
//    private String content;

    @ApiModelProperty(value = "活动内容")
    private List<ActiveContent> activeContents;

    @ApiModelProperty(value = "活动开始时间，格式：yyyy-MM-dd HH:mm:ss")
    private String startTime;

    @ApiModelProperty(value = "活动结束时间，格式：yyyy-MM-dd HH:mm:ss")
    private String endTime;

    @ApiModelProperty(value = "活动有效开始时间，格式：yyyy-MM-dd HH:mm:ss")
    private String validStartTime;

    @ApiModelProperty(value = "活动有效结束时间，格式：yyyy-MM-dd HH:mm:ss")
    private String validEndTime;

    @ApiModelProperty(value = "省份id")
    private Integer provinceId;

    @ApiModelProperty(value = "省份名称")
    private String provinceName;

    @ApiModelProperty(value = "市id")
    private Integer cityId;

    @ApiModelProperty(value = "市名称")
    private String cityName;

    @ApiModelProperty(value = "区县id")
    private Integer countyId;

    @ApiModelProperty(value = "区县名称")
    private String countyName;

    @ApiModelProperty(value = "活动详细地址")
    private String address;

    @ApiModelProperty(value = "活动联系电话")
    private String activeMobile;

    @ApiModelProperty(value = "活动客服微信号")
    private String activeWechat;

    @ApiModelProperty(value = "活动链接")
    private String activeUrl;

    @ApiModelProperty(value = "活动状态（1-仅保存，2-去发布）")
    private Integer activeState;

    @ApiModelProperty(value = "核销方式（只对报名活动有效）：0-系统，1-票付通")
    private Integer verifyType;

    @ApiModelProperty(value = "票付通产品ID")
    private String pftProduct;

    @ApiModelProperty(value = "票付通门票ID")
    private String pftTicket;

    @ApiModelProperty(value = "票付通供应商ID")
    private String pftSupplier;

    @ApiModelProperty(value = "限购")
    private Integer limitBuyNum;

    @ApiModelProperty(value = "限制报名人数")
    private Integer limitEnrollNum;

    @ApiModelProperty(value = "隐藏链接（0-不隐藏 1-隐藏）")
    private Integer hideLink;

    @ApiModelProperty(value = "活动总库存")
    private Integer totalStock;

    @ApiModelProperty(value = "过期自动退款：0：关闭 1-开启")
    private Integer autoRefundEnabled;

    /****************** 拼团设置 ******************/
    @NotNull(message = "拼团价格不能为空")
    @ApiModelProperty(value = "拼团价格")
    private BigDecimal groupBuyPrice;

    @NotNull(message = "成团人数不能为空")
    @ApiModelProperty(value = "成团人数")
    private Integer groupNum;

    @NotNull(message = "成团时间不能为空")
    @ApiModelProperty(value = "成团时间（小时）")
    private Integer groupDuration;

    @NotNull(message = "是否虚拟成团不能为空")
    @ApiModelProperty(value = "是否虚拟成团 (0: 否, 1: 是)")
    private Integer virtualGroup;

    @NotNull(message = "开团权限不能为空")
    @ApiModelProperty(value = "开团权限 (ALL: 所有人, LEVEL1_AGENT: 一级经纪人)")
    private String groupCreatorPermission;

    @ApiModelProperty(value = "免单类型 (0-无，1: 团长免单, 2: 随机免单)")
    private Integer freeType;

    @ApiModelProperty(value = "团长0元开团开关 (0: 关闭, 1: 开启)")
    private Integer leadFreeEnabled = 0;

    @ApiModelProperty(value = "直接参团开关 (0: 关闭, 1: 开启)")
    private Integer directJoinEnabled = 0;

    @ApiModelProperty(value = "报名信息团长是否可见 (0: 不可见, 1: 可见)")
    private Integer leadViewEnrollInfo = 0;

}
